package com.ruoyi.iot.mapper;

import com.ruoyi.iot.domain.entity.DeviceHealthHistory;
import java.time.LocalDate;
import java.util.List;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

/**
 * 健康评分历史Mapper
 */
@Mapper
public interface DeviceHealthHistoryMapper {

    /**
     * 批量插入或更新历史记录。
     *
     * @param histories 历史记录列表
     * @return 影响行数
     */
    int upsertBatch(@Param("list") List<DeviceHealthHistory> histories);

    /**
     * 查询历史记录。
     *
     * @param deviceId 设备编号
     * @param start    开始日期
     * @param end      结束日期
     * @param dimension 统计粒度
     * @return 历史记录集合
     */
    List<DeviceHealthHistory> selectByRange(@Param("deviceId") String deviceId,
                                            @Param("start") LocalDate start,
                                            @Param("end") LocalDate end,
                                            @Param("dimension") String dimension);
}

